package com.yami.shop.bean.model;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 优惠券表
 * </p>
 *
 * @author jjh
 * @since 2023-08-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tz_store_coupon")
public class StoreCoupon implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 优惠券表ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 优惠券名称
     */
    private String name;

    /**
     * 兑换的优惠券面值
     */
    private BigDecimal money;

    /**
     * 是否限量, 默认0 不限量， 1限量
     */
    private Boolean isLimited;

    /**
     * 发放总数
     */
    private Integer total;

    /**
     * 剩余数量
     */
    private Integer lastTotal;

    /**
     * 使用类型 1 全场通用, 2 商品券, 3 品类券
     */
    private Integer useType;

    /**
     * 所属商品id / 分类id
     */
    private String primaryKey;

    /**
     * 最低消费，0代表不限制
     */
    private BigDecimal minPrice;

    /**
     * 可领取开始时间
     */
    private LocalDateTime receiveStartTime;

    /**
     * 可领取结束时间
     */
    private LocalDateTime receiveEndTime;

    /**
     * 是否固定使用时间, 默认0 否， 1是
     */
    private Boolean isFixedTime;

    /**
     * 可使用时间范围 开始时间
     */
    private LocalDateTime useStartTime;

    /**
     * 可使用时间范围 结束时间
     */
    private LocalDateTime useEndTime;

    /**
     * 天数
     */
    private Integer day;

    /**
     * 优惠券类型 1 手动领取, 2 新人券, 3 赠送券
     */
    private Integer type;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 状态（0：关闭，1：开启）
     */
    private Boolean status;

    /**
     * 是否删除 状态（0：否，1：是）
     */
    private Boolean isDel;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;


}
